//核心入口

const Generator = require('yeoman-generator') //导入继承,使用require需要v4.0

module.exports = class extends Generator {
  prompting() {//询问方法
    return this.prompt([{
      type: 'input',
      name: 'name',
      message: 'Your project name?',
      default: this.appname //项目生成目录名称
    }]).then(answers => {
      this.answers = answers
    })
  }
  writing() {//写入方法
    //2-8 往项目目录中写入文件
    // this.fs.write(
    //   this.destinationPath('example.txt'),// 生成example.txt文件
    //   Math.random().toString()//写入随机数
    // )

    //------------------------------------------

    //2-9 通过模板方式写入文件到目标目录
    // const tmpl1 = this.templatePath('module.txt');// 获取模板
    // const output1 = this.destinationPath('example.txt');// 输出文件
    // const context1 = { title: 'hello borey', success: true, result: this.result };// 内容参数
    // this.fs.copyTpl(tmpl1, output1, context1);

    //------------------------------------------

    //2-10 通过询问套用模板输出文件
    const tmpl2 = this.templatePath('module.html');
    const output2 = this.destinationPath('example.html');
    const context2 = this.answers;
    this.fs.copyTpl(tmpl2, output2, context2);
  }
}